Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

glibc: update to 2.38. #45501

Merged
merged 97 commits into from
Dec 25, 2023
Merged

glibc: update to 2.38. #45501

merged 97 commits into from
Dec 25, 2023

Conversation

oreo639
Copy link
Member

@oreo639 oreo639 commented Aug 9, 2023

Testing the changes

  • I tested the changes in this PR: briefly

The following packages must be removed from the repo before merging this PR:

[ci skip]
https://sourceware.org/glibc/wiki/Release/2.38
glibc 2.38 disables libcrypt by default with a recommendation for distros to switch to libxcrypt (as they intend to remove it entirely).
libxcrypt can be built as either libcrypt.so.1 or libcrypt.so.2.
Debian and SUSE only build libcrypt.so.1.
Arch Linux and Fedora build libcrypt.so.2 along with a libxcrypt-compat package.
The rationale for that decision is explained here:
https://fedoraproject.org/wiki/Changes/FullyRemoveDeprecatedAndUnsafeFunctionsFromLibcrypt
https://fedoraproject.org/wiki/Changes/libcrypt_so_1_Let_encrypt_encrypt_r_setkey_setkey_r_and_fcrypt_return_ENOSYS_instead_of_performing_any_real_operation

My inclination is to build libcrypt.so.2 with a libxcrypt-compat package without enosys but I am open to handling it differently.
Keep in mind that packages compiled against libxcrypt's libcrypt.so.1 will not run with glibc's libcrypt.so.1 (but applications compiled with glibc's libcrypt.so.1 will run with libxcrypt's libcrypt.so.1).

You can get the packages using libcrypt using xbps-query -Rs libcrypt.so -p shlib-requires.

@ahesford
Copy link
Member

ahesford commented Aug 9, 2023

The compat build option in libxcrypt should be removed. Either the template provides the -compat package or it doesn't. Build options are generally a bad idea, and they exist mostly as a hack around arch-dependent compatibility or a way to let people build packages with different configurations. In libxcrypt, all the build option does is change what packages are built, not how they are built, at the expense of making the template more difficult to understand.

That said, I don't know if there is value in providing the -compat library at all. If we have restricted packages (or others that just repackage upstream binaries) that require the ABI, then I guess we should provide it. If there are none, adding complexity to the template and generally increasing maintenance burden just so somebody can download legacy binaries from the web doesn't seem worthwhile. Binary compatibility with other distributions is a bonus when it works, but is not a project goal.

@oreo639
Copy link
Member Author

oreo639 commented Aug 9, 2023

Either the template provides the -compat package or it doesn't.

Yeah. I had it because I was experimenting with musl where it would be completely useless. I removed the build option.

@oreo639 oreo639 force-pushed the glibc branch 7 times, most recently from 286bceb to a7ef192 Compare August 31, 2023 05:27
@oreo639 oreo639 marked this pull request as ready for review August 31, 2023 05:48
@oreo639
Copy link
Member Author

oreo639 commented Sep 14, 2023

I don't know if there is value in providing the -compat library at all.

I found one thing that requires libcrypt.so.1 (XAMPP).

@oreo639 oreo639 force-pushed the glibc branch 3 times, most recently from 0f38983 to b188235 Compare September 20, 2023 17:29
@oreo639 oreo639 force-pushed the glibc branch 3 times, most recently from 7ccab88 to 6208083 Compare September 29, 2023 19:59
@oreo639 oreo639 force-pushed the glibc branch 5 times, most recently from 68a7c97 to 7ed0c80 Compare October 9, 2023 21:15
@oreo639 oreo639 force-pushed the glibc branch 3 times, most recently from ad47f2c to 233549d Compare October 16, 2023 17:29
@classabbyamp classabbyamp merged commit c029d76 into void-linux:master Dec 25, 2023
1 of 2 checks passed
@oreo639 oreo639 deleted the glibc branch December 26, 2023 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core core package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants